\hypertarget{structwickr__stream__iv}{}\section{wickr\+\_\+stream\+\_\+iv Struct Reference}
\label{structwickr__stream__iv}\index{wickr\_stream\_iv@{wickr\_stream\_iv}}


A deterministic random IV generator using a 64 byte secure random seed and H\+M\+A\+C-\/\+S\+H\+A512.  




{\ttfamily \#include $<$stream\+\_\+iv.\+h$>$}

\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{structwickr__crypto__engine}{wickr\+\_\+crypto\+\_\+engine\+\_\+t}} \mbox{\hyperlink{structwickr__stream__iv_a8c597718ade583db19204df7bfed7e85}{engine}}
\item 
\mbox{\hyperlink{structwickr__buffer}{wickr\+\_\+buffer\+\_\+t}} $\ast$ \mbox{\hyperlink{structwickr__stream__iv_a221017bc41b4cc36bf31f13a0c299db1}{seed}}
\item 
\mbox{\hyperlink{structwickr__cipher}{wickr\+\_\+cipher\+\_\+t}} \mbox{\hyperlink{structwickr__stream__iv_a86379d83e28b96d4852ac047482713d1}{cipher}}
\item 
uint64\+\_\+t \mbox{\hyperlink{structwickr__stream__iv_ae7d500c34333c546ee044fe875e10dfc}{gen\+\_\+count}}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
A deterministic random IV generator using a 64 byte secure random seed and H\+M\+A\+C-\/\+S\+H\+A512. 

On each call to generate, the IV generator will be called with H\+M\+A\+C(gen\+\_\+count, seed) The gen count value is incremented by one each time the generate method is called 

\subsection{Field Documentation}
\mbox{\Hypertarget{structwickr__stream__iv_a86379d83e28b96d4852ac047482713d1}\label{structwickr__stream__iv_a86379d83e28b96d4852ac047482713d1}} 
\index{wickr\_stream\_iv@{wickr\_stream\_iv}!cipher@{cipher}}
\index{cipher@{cipher}!wickr\_stream\_iv@{wickr\_stream\_iv}}
\subsubsection{\texorpdfstring{cipher}{cipher}}
{\footnotesize\ttfamily wickr\+\_\+stream\+\_\+iv\+::cipher}

the cipher that this engine is generating IV\textquotesingle{}s for, this will determine the output length of the generated IV values \mbox{\Hypertarget{structwickr__stream__iv_a8c597718ade583db19204df7bfed7e85}\label{structwickr__stream__iv_a8c597718ade583db19204df7bfed7e85}} 
\index{wickr\_stream\_iv@{wickr\_stream\_iv}!engine@{engine}}
\index{engine@{engine}!wickr\_stream\_iv@{wickr\_stream\_iv}}
\subsubsection{\texorpdfstring{engine}{engine}}
{\footnotesize\ttfamily wickr\+\_\+stream\+\_\+iv\+::engine}

crypto engine engine used to supply secure random bytes and H\+M\+AC functions \mbox{\Hypertarget{structwickr__stream__iv_ae7d500c34333c546ee044fe875e10dfc}\label{structwickr__stream__iv_ae7d500c34333c546ee044fe875e10dfc}} 
\index{wickr\_stream\_iv@{wickr\_stream\_iv}!gen\_count@{gen\_count}}
\index{gen\_count@{gen\_count}!wickr\_stream\_iv@{wickr\_stream\_iv}}
\subsubsection{\texorpdfstring{gen\_count}{gen\_count}}
{\footnotesize\ttfamily wickr\+\_\+stream\+\_\+iv\+::gen\+\_\+count}

an internal count value used as the H\+M\+AC value to deterministically generate unique I\+Vs \mbox{\Hypertarget{structwickr__stream__iv_a221017bc41b4cc36bf31f13a0c299db1}\label{structwickr__stream__iv_a221017bc41b4cc36bf31f13a0c299db1}} 
\index{wickr\_stream\_iv@{wickr\_stream\_iv}!seed@{seed}}
\index{seed@{seed}!wickr\_stream\_iv@{wickr\_stream\_iv}}
\subsubsection{\texorpdfstring{seed}{seed}}
{\footnotesize\ttfamily wickr\+\_\+stream\+\_\+iv\+::seed}

a 64 byte secure random seed generated at creation of the stream\+\_\+iv generator 

The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
src/wickrcrypto/include/wickrcrypto/stream\+\_\+iv.\+h\end{DoxyCompactItemize}
